package cn.edu.scau.cmi.zenglinghong.composite.consistent;

import java.util.Set;

public class ConsistentPerson extends ConsistentComponent{
	
	public ConsistentPerson(String name, ConsistentComponent organization) {
		super(name, organization);
	}
	
	@Override
	public String doSomething() {
		System.out.println("你好，我是个人组织，不能增加成员了。");
		return "你好，我是个人组织，不能增加成员了。";
	}
	
	@Override
	public ConsistentComponent addChild(ConsistentComponent child) {
		System.out.println("对不起，这是个人组织，不能添加新成员了。");
		return this;
	}

	@Override
	public ConsistentComponent deleteChild(ConsistentComponent child) {
		System.out.println("对不起，这是个人组织，没有成员可以删除了。");
		return this;
	}
	
	@Override
	public Set<ConsistentComponent> getChildren() {
		System.out.println("对不起，这是个人组织，没有成员。");
		return null;
	}
	
	@Override
	public String toString(int depth) {
		String parentName = getParent() == null ? "无" : getParent().getName();
		String blank = "";
		for (int i=0; i<depth; i++) blank += " ";
		String res = blank + "\"" + getName() + "\": {\n" +
			   blank + "\"类型\": \"个人\",\n" +
			   blank + "\"父亲\": \"" + parentName + "\"\n" +
			   blank + "}\n";
		return res;
	}
	
	@Override
	public String toString() {
		return toString(0);
	}
}
